package web.mb;

import java.util.List;

import javax.ejb.EJB;
import javax.enterprise.context.RequestScoped;
import javax.faces.bean.ManagedBean;

import metier.entities.Abonnement;
import metier.entities.Catalogue_prix;
import metier.entities.Devise;
import metier.entities.StrategiePrix;
import metier.entities.categorie;
import metier.sess.IDeviseLocal;
import metier.sess.IStrategiePrixLocal;


@ManagedBean
@RequestScoped
public class PriceStrategieMB {
	
	@EJB 
	private IStrategiePrixLocal metier;
	
	
	@EJB
	private IDeviseLocal metierDevise;
	
	
   private Abonnement abonnement=new Abonnement();
   private Catalogue_prix catp=new Catalogue_prix();
   private Integer Id; 
   private Integer IdDevise;
   private Integer Type;
   
   
	
	
	
	public Catalogue_prix getCatp() {
	return catp;
}


public void setCatp(Catalogue_prix catp) {
	this.catp = catp;
}


	

	public Abonnement getAbonnement() {
	return abonnement;
}


public void setAbonnement(Abonnement abonnement) {
	this.abonnement = abonnement;
}


	public Integer getId() {
		return Id;
	}


	public void setId(Integer id) {
		Id = id;
	}


	public Integer getIdDevise() {
		return IdDevise;
	}


	public void setIdDevise(Integer idDevise) {
		IdDevise = idDevise;
	}

	

	public Integer getType() {
		return Type;
	}


	public void setType(Integer type) {
		Type = type;
	}

	
	public String Ajouter()
	{
	
		catp.setDevise(metierDevise.getDevise(IdDevise));
		catp.setUserType(Type);
		metier.addStrategiePrix(catp);
		return "ManageUserPrice.xhtml";
	}

	public String edit(Integer Id)
	{
		this.Id=Id;
		catp=(Catalogue_prix) metier.getStrategiePrix(Id);
		
		return "EditUserPrice.xhtml";
	}
	
	
	public String Modifier()
	{
		
		catp=(Catalogue_prix) metier.getStrategiePrix(Id);
		catp.setDevise(metierDevise.getDevise(IdDevise));
		metier.updateStrategiePrix(catp);
		return "ManageUserPrice.xhtml";
	}
	

	public String Supprimer(Integer Id)
	{
		
		metier.deleteStrategiePrix(Id);
		return "succes";
		
	}
	
	public String AjouterAb()
	{
	
		abonnement.setDevise(metierDevise.getDevise(IdDevise));
		abonnement.setUserType(Type);
		metier.addStrategiePrix(abonnement);
		return "ManageUserPrice.xhtml";
	}

	public String editAb(Integer Id)
	{
		this.Id=Id;
		abonnement=(Abonnement) metier.getStrategiePrix(Id);
		return "EditUserPriceAb.xhtml";
	}
	
	
	public String ModifierAb()
	{
		
		abonnement=(Abonnement) metier.getStrategiePrix(Id);
		catp.setDevise(metierDevise.getDevise(IdDevise));
		metier.updateStrategiePrix(catp);
		return "ManageUserPrice.xhtml";
	}
	

	public String SupprimerAb(Integer Id)
	{
		
		metier.deleteStrategiePrix(Id);
		return "succes";
		
	}
	
	public String addredirect(String Type,String cat)
	{
		this.Type=Integer.parseInt(Type);
		if(Integer.parseInt(cat)==1)
			return "AddUserPrice.xhtml";
		else
			return "AddUserPriceAb.xhtml";
		
	}
	
	public List<Devise> listeDevise()
	{
		return metierDevise.getAllActiveDevises();
	}
	
	public List<StrategiePrix> listeCataloguePrix(Integer Type,Integer pid)
	{
		return metier.getAllStrategiePrix(pid, Type);
		
	}
  	

}
